MenuDriven Circular Queue
import java.util.*;
class cp_menu{
int rear;
int counter;
int front;
String[] data;
public cp_menu(){
counter = 0;
front = 0;
rear = -1;
data = new String[5];
}
public void insert(String o){
if(rear < counter){
rear = (rear+1)%5;
data[rear] = o;
++counter;
}
}
public void remove(){
if(counter !=0){
System.out.println("Removed Item: "+data[front]);
front = (front+1)%5;
--counter;
}
}
public void show(){
int i=front;
do{
System.out.println("Data at "+i+" is: "+data[i]);
i=(i+1)%5;
}while(i!=rear);
}
public static void main(String[] aargs){
cp_menu c = new cp_menu();
int op=4;
Scanner ss = new Scanner(System.in);
while(true){
System.out.println("1.Insert");
System.out.println("2.Remove");
System.out.println("3.Display");
System.out.println("4.Exit");
System.out.println("Choice:");
op = ss.nextInt();
if(op == 1){
System.out.println("Enter Word:");
String s = ss.next();
c.insert(s);
}else if(op == 2){
c.remove();
}else if(op == 3){
c.show();
}else{
ss.close();
System.exit(1);
}
}
}
}